home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / make / icmake-6.000 / icmake-6 / icmake / comp / catargs.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-08  |  701 b   |  29 lines

  1. /*
  2.                                 C A T A R G S . C
  3. */
  4.  
  5. #include "iccomp.h"
  6.  
  7. void catargs (arr)
  8.     ESTRUC_
  9.         *arr;
  10. {
  11.     register unsigned
  12.         count;
  13.     ESTRUC_
  14.         *ep,
  15.         e;
  16.  
  17.     if (!(count = arr->type))
  18.         return;                             /* no arguments */
  19.  
  20.     ep = (ESTRUC_ *)arr->code;              /* local pointer to ESTRUC_s */
  21.  
  22.     e = ep[--count];                        /* e: code of last argument */
  23.  
  24.     while (count--)
  25.         catcode(&e, &ep[count]);            /* catenate next argument(s) */
  26.  
  27.     free(arr->code);                         /* memory of array is free again */
  28.     *arr = e;                               /* arguments changed to code */
  29. }